home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / crumbl11.zip / CRUMBLER.DOC < prev    next >
Text File  |  1994-05-19  |  21KB  |  445 lines

  1.                                                                      - 1 -
  2.                    
  3.                       CRUMBLER       (c) Carlo Moretti May 1994
  4.                    (Release 1.1b)
  5.                              
  6.                          by  
  7.                         
  8.                     Carlo Moretti
  9.  
  10.                     e-mail: sis2g19@ganimede.csr.unibo.it
  11.                     or      einn93_5@cobra.csr.unibo.it
  12.  
  13.  INTRO.
  14.  ======
  15.  
  16.  This program creates STEREOGRAMS using the simplest algorithm that 
  17. could flash into my mind. I've REALLY never saw an algorithm to create a 
  18. SIRDS, but I was intersted on, so I decided to create one myself. 
  19.  CRUMBLER is written in C language and compiled with Borland C++ 3.0 
  20. I think it could work on every MS-DOS compatible (286, 386, 486...) 
  21. and it DOESN'T require any kind of graphic board (well, You need one just 
  22. when wanna see the output image...). 
  23.  
  24.  
  25.  WHAT'S NEW
  26.  ==========
  27.  
  28.  Yeah, this is the second release of CRUMBLER and there are a lot of news:
  29. ∙ Now CRUMBLER is able to produce SIRDS (without using a file pattern).
  30. ∙ It can now 'crumble' images up to 4096*XXXX pixels.
  31. ∙ Pattern fitting can start from Left, Right or Center; this sometimes
  32.   could help (somehow) to reduce the echo.
  33. ∙ There is a 'Skeleton method' to create 'skeleton-like' effects.
  34. ∙ There's a new '+d64k' source depth feature to 'smooth' 3d objects.
  35. ∙ There is a 3DStudio Material LIbrary to map Your 3d objects correctly.
  36. ∙ There are 5 'gradient' images to map 3d objects in POV-Ray, and other 3d
  37.   programs.
  38. ∙ There are 3 pattern images ready to use. 
  39. ∙ There is an input file to use as example.
  40.  
  41.  
  42.  WHAT'S OBSOLETE
  43.  ===============
  44.  
  45.  Sure I didn't take care of input-output type images, so these are still
  46. uncompressed truecolor Targa files.
  47.  Moreover pattern and input file MUST be in the current directory.
  48.  
  49.  
  50.  WHAT'S GREAT!
  51.  =============
  52.  
  53.  The REALLY GREAT thing is that CRUMBLER is able to generate stereograms with
  54. !!!!! 16777216 !!!!! (read: 'more than 16 millions'!!!) of depth planes.
  55. Ok, I think no one could count them, and no one could find any difference 
  56. between a 4096 layered stereogram and a 16m one, anyway I can say it's 
  57. flexable 'cause it can produce: 256, 768, 4096 and 16777216 depth levels.
  58. (Obviously it depends on input file colors used).
  59.                                                                      - 2 -
  60.  
  61.  It generates TRUECOLOR file output and reads truecolor input and pattern
  62. (This is not so great because a 1024x768x24bit uncompressed image takes 
  63. about 2.4M on your Hard Disk (!))
  64.  CRUMBLER is easy to use after 3DStudio or other 3D good softwares.
  65.  It takes about 1.5 minutes to 'crumble' a 1024x768 image on a 486DX2/50, 
  66. but if You use 'smartdrv.sys' or other I/O-buffers it can be about twice 
  67. time quicker, computing about 20500 pixel per second.
  68.  CRUMBLER is able to crumble Targa files of ANY RESOLUTION: You can use 
  69. images up to 65535 x 65535 x 24 bit color. (Why don't You try?!)
  70.  
  71.  
  72.  WHAT'S NOT SO GREAT (moan..)
  73.  ============================
  74.  
  75.  Input images MUST be: "uncompressed 24 bit Targa files type 10 or type 0"; 
  76.  Output images can be ONLY: "uncompressed 24 bit Targa files type 10". 
  77. Anyway You can create source images with a lot of programs:
  78. . 3DStudio (r1, r2, r3)
  79. . P.O.V.ray (r1.0, r2.0, r2.1, r2.2 and every other compatible version)
  80. . Alchemy (ev'ry version I know) by typing "alchemy -a10 -24 <source_image>"
  81. . Photo Styler (1.0, 1.1, 2.0 ...)
  82. . Imagine 2.0 (PC's version)
  83. . many others...
  84.  Another problem I can't solve is the ECHO!!! I added the +f option (see
  85. the syntax), but I really need an anti-echo algorithm.
  86.  
  87.  
  88.  SYNTAX
  89.  ======
  90.  
  91.  CRUMBLER requires 2 ORDERED file names and 5 optional parameters:
  92.  
  93. >CRUMBLER  <input[.TGA]>  <output[.TGA]>  [+options]
  94.  
  95.  Input file is the same of version 1.0 (see INPUT DEPTH IMAGE session);
  96. output file is now checked (see +o flag); pattern file becomes optional 
  97. (see +p option).
  98.  CRUMBLER will use the pattern file (if used) until its end (or the end 
  99. of input file). If the pattern file Y resolution is less than the input 
  100. one, CRUMBLER will then start using the last raw pattern file, displaying 
  101. a message. 
  102.  Output file dimension is: ((h_res * v_res * 3) + 18) as should be the
  103. input image too.
  104.  
  105.  [OPTIONS]:
  106.  
  107.  +wXXX  tells the proggie the width of the pattern to superimpose.
  108.         Valid range is 96..256.
  109.         It must be less or equal than the pattern file h_res. if used.
  110.  
  111.  +p<pattern_file_name[.TGA]> If specified tells crumbler to create a SIS
  112.                              using the shown pattern file. If NOT used, 
  113.                              crumbler will create and use a random pattern 
  114.                              to produce a SIRDS.
  115.                                                                      - 3 -
  116.  
  117.  +dXXXX tells about source image:
  118.         '256'  will use a source image 'averaging' the RGB values for each
  119.                pixels (more the pixel is bright, more it becomes near)
  120.                This is common to use with a gray scale source image: 
  121.                every of the 256 grays (from [0,0,0] to [255,255,255]) 
  122.                represents a depth level.
  123.                A RGB color (R=100, G=30, B=80) is like a 'gray=70' value and
  124.                the depth level used is the 70th from background.
  125.         
  126.         '768'  will 'add' the RGB values (R+B+G) to perform 768 levels
  127.                (example: R=5, G=100, B=230 is evaluated as the 335th depth
  128.                plane from background; more brigth, more near)
  129.                With this option the RGB color (R=10, G=70, B=123) is 
  130.                exactly equal to (R=40, G=102, B=61) and means the 203th 
  131.                depth plane from back.
  132.         
  133.         '4096' will evaluate the formula: r*16+g+b/16. This will give You
  134.                4096 depth levels. It's hard to create a source images of
  135.                this type without a 3d program and an image map!
  136.         
  137.         '64k'  this new feature lets You create 65536 depth levels with a 
  138.                smoother appearance. There's a new map image for 3d softwares
  139.                which let CRUMBLER recognize 3d software's colors approximation
  140.                like antialiasing or motion blur. It uses RED and GREEN primary
  141.                colors: for each even RED values GREEN values are 0..255, while 
  142.                for odd RED values GREEN becomes 255..0
  143.         
  144.         '16m'  tells CRUMBLE to evaluate: r*65536+g*255+b. Red is the most
  145.                significant primary color, blue could be omitted (I'm sure
  146.                You can't see 'blue variation'). 
  147.                This is done for images created with 3d softwares and mapping
  148.                the objects with a given image map. 
  149.                DON'T try to use strange color configurations if You 
  150.                want to see a nice result (read "a normal stereogram"). 
  151.  
  152.  +f[l|c|r]   tells crumbler where the pattern fitting should start from:
  153.         'l'  means left and it's the cause of a right echo.
  154.         'r'  means right and causes a 'left transfered' echo.
  155.         'c'  means pattern fitting starts from center and probably causes
  156.              both sided echo (I tried this hoping to attenuate the echo!!!).
  157.              Results about echo strongly depend on the source images.
  158.  
  159.  +o     If the specified output file already exists, crumbler will overwrite
  160.         it if '+o' is used; otherwise (if +o is omissed) it returns an 
  161.         error message.
  162.  
  163.  +sXXX  tells crumbler to 'slice' the 3d object by inverting a number of 
  164.         depth planes. This will give a 'skeleton' appearance to Your object
  165.         (try using this and You'll understand what I mean!)
  166.         Valid range is 0..64: '0' means OFF, '1' means CROSS-EYED viewing, 
  167.         '2' will create 2 inverted slices of Your objects, and so on.
  168.         (It's easier to use that than to say what does it do!!)
  169.  
  170.  
  171.  See the 'QUICKSTART' in the README.1ST file for some examples.
  172.                                                                      - 4 -
  173.  
  174.  USING CRUMBLER AFTER A 3D PROGRAM
  175.  =================================
  176.  
  177.  If You are able to use a 3d program like 3DStudio (this is from AutoDesk
  178. and it's NOT a PD software), POV-Ray, Vivid or other 'render/raytracing'
  179. programs, I suggest You to use an image map as a texture for Your entire 
  180. scene as shown:
  181.  
  182.  
  183.   (Back)  ░░░░░░░░░░░░░░░░ Black (0,0,0)
  184.           ░░░░░░░░░░░░░░░░ ^
  185.           ░░░░░░░░░░░░░░░░ |
  186.           ░░░░░░░░░░░░░░░░ |     (...dark red...)
  187.  ________ ░░░░░░░░░░░░░░░░ |
  188. |        |░░░░░░░░░░░░░░░░ |
  189. |        |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Red (255,0,0 or any other full primary color)
  190. |        |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ^
  191. |   3D   |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ |
  192. | object |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ |     (...red-violet...)
  193. |        |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ |
  194. |        |▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ |
  195. |________|▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ Red&Blue (255,0,255 or any other combination of 2 
  196.           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ^        primary colors)
  197.           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ |
  198.           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ |     (...pink...)
  199.           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ |
  200.           ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ |
  201.   (Fore)  ████████████████ White (255,255,255)
  202.  
  203.         (This map will let CRUMBLE be able to create 768 depth levels)
  204.  
  205.  The planar mapping and the camera should be parallel, and the object 
  206. should be bright near the camera and dark far from it. 
  207.  
  208.  Crumbler 1.1 is provided 4 image maps:
  209. ∙ 256__cru.tga  is a grey scaled map to use with +d256 option
  210. ∙ 768__cru.tga  is the map shown above to use with +d768
  211. ∙ 4096_cru.tga  is to use with +d4096 (4096 raw to create 4096 depth levels)
  212. ∙ 16384cru.tga  to use with +d16m (creates 16384 depth levels)
  213. ∙ 65536cru.tga  for +d64k (again 16384 depth levels, but looks smoother)
  214.  
  215. Actually I can't find a program to create (and use) a tga file with up to
  216. 65535 raws, so if You want more depth levels You must create Your source 
  217. file Your own (good luck!).
  218.  Probably any programs can't read a 16384 raw image file, so You should
  219. use a lower color level map to obtain a lower depth levelled stereogram.
  220.  Pleas, DON'T try to convert those map files with a JPEG compression, 
  221. because it will cause a considerable distorsion in the input file.
  222.  
  223.  *IMPORTANT*:
  224.  The 3d program scene must NOT include any kind of light. You must use
  225. ONLY the ambient light at its max value. Don't use anti-aliasing because
  226. it changes the real pixel color (changing the depth too). DON'T use any kind
  227. of GAMMA CORRECTION or DITHERING too, to avoid any source image distorsion. 
  228.                                                                      - 5 -
  229.  
  230.  USING CRUMBLER AFTER A 2D PAINTING PROGRAM
  231.  ==========================================
  232.  
  233.  If You can't use a 3d good software You can create Your source images by
  234. using a normal 2d painting program. This will obviously make You obtain 
  235. a lower quality stereogram with *ONLY* 768 depth levels...
  236.  
  237.  You can work in 2 ways: gray scaled source images or colored one.
  238. 1) Gray scale sources images could be created by using a black background 
  239.    and brightening the pixel You wanna see nearest. Every gray level
  240.    corresponds to a depth level. 
  241.    This is right with the +d256 options and give out a 256 depth level
  242.    stereogram.
  243. 2) You can obtain a 768 depth level stereogram by 'emulating' an image map 
  244.    in this way: increasing a single value of the RGB palette You will work 
  245.    on the depth level nearest the last one used (eg. [0,100,0] appears
  246.    near [0,101,0]). In this way a [0,0,0] color is the background, a
  247.    [255,0,0] or [0,255,0] or [0,0,255] color is the 255th depth level (1/3 
  248.    from back), a [255,255,0] or [255,0,255] or [0,255,255] color is the
  249.    512th level (2/3 from backgrund) and [255,255,255] (white) is the 
  250.    last depth level (the nearest one to You). 
  251.    This is right with the +d768 option (will make You able to work on 768 
  252.    different levels).
  253.  
  254.  
  255.  EMBOSS FILTER FOR 2D IMAGES
  256.  ===========================
  257.  
  258.  If You like a 2d image like a photo and You want to 'stereogrammize' it, 
  259. You can try to use an 'emboss' filter (PStyler and other photoTouch programs 
  260. are able to do that) before using crumbler. I don't suggest to use an heavy 
  261. effect. This could give an intersting aspect to Your stereograms. 
  262.  Use the +d256 option with crumbler and try to diminish the source image
  263. contrast if the stereogram seems too much crumbled.
  264.  
  265.  
  266.  PATTERN FILE
  267.  ============
  268.  
  269.  If You set the '+p<patternfile>' option You need to know how the pattern
  270. must be.
  271.  The pattern file must be an uncompressed true color Targa image file, so 
  272. You can convert any image you like using other programs like PStyler, 
  273. Alchemy and many others.
  274.  You can use any kind of image and you can experiment new particular pattern
  275. files (I've tried with a little navel image, but it was too less colored). 
  276.  It's important that the pattern has DIFFERENT COLORS and NOT TOO MUCH PIXELS
  277. THE SAME. Remember about this that a random pattern is ideal.
  278.  It can be also black and white (right to be printed), but there must be
  279. irregular shapes.
  280.  A nice pattern file could be generated using FRACTINT or other fractal 
  281. programs. Try using 'PLASMA' and rielaborating the images with mirroring, 
  282. deforming and changing colors & contrasts.
  283.                                                                      - 6 -
  284.  
  285.  I added a group of files (pattXXXX.tga) that can be used as pattern files.
  286. They are all 128x768 uncompressed 24 bit Targa files, ready to be used.
  287. They are ideal for image 1024x768 and width +w128 (as default), but they 
  288. can be used for smaller width and scaled to be used with larger width too.
  289.  
  290.  
  291.  INPUT DEPTH IMAGE
  292.  =================
  293.  
  294.  The input image must be a depth image, such as it must have a gradient 
  295. colored 3d shape to tell CRUMBLER how far to place that shape and how 
  296. thick it should become.
  297.  The input image should appear something like this:
  298.  
  299.      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  300.      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  301.      ░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  302.      ░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  303.      ░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  304.      ░░░░░░░▒▒▒▓▓▓▓▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  305.      ░░░░░░░▒▒▒▒▓▓▓▓▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  306.      ░░░░░░░▒▒▒▒▒▓▓▓▓▒▒░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  307.      ░░░░░░░▒▒▒▒▓▓▓▓▒▒▒░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  308.      ░░░░░░░▒▒▒▓▓▓▓▒▒▒▒░░░░░░░▒▒▓▓████████▓▓▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  309.      ░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░░▒▒▓▓████████▓▓▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  310.      ░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  311.      ░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░|░░░░░░░░░░░░
  312.      ░░░░░░░░▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  313.      ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░|░░░░░░░░░░░░
  314.      ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒|░░░░░░░░░░░░
  315.      ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓|░░░░░░░░░░░░
  316.      ████████████████████████████████████████████████████|░░░░░░░░░░░░
  317.      |                                                   | Don't use |
  318.      |           Draw here Your painting                 | this part |
  319.      |<------------------------------------------------->|<--------->|
  320.      0                                                       WIDTH    Xres
  321.  
  322.  Really you could paint the rightest <width> pixels (CRUMBLER will work in
  323. the same way), but they won't be used by the program.
  324.  If You were using YASM by Mitchell Brandsma You'll notice that it works with 
  325. the same input images, in facts if you set +d256 option you could use the 
  326. same pictures You were using with YASM as input for CRUMBLER (after 
  327. converting them into 24 bit .TGA).
  328.  I suggest to compress the input file when You don't need to use it, but I  
  329. don't suggest You a JPEG compression 'cause You'll loose a lot of important 
  330. information (high quality jpeg compression won't let You compress the image
  331. enough, it isn't worth the trouble), You can use PCX 24 bit compression, or 
  332. TGA RLE, TIFF 24, and many others (use the one You prefer) (remember You  
  333. can't use GIF or other 8 bit image file format, 'cause You will loose a lot
  334. of depth levels!)
  335.                                                                      - 7 -
  336.  
  337.  OUTPUT FILE COMPRESSION
  338.  =======================
  339.  
  340.  Output is another TGA uncompressed 24 bit image and now you can compress it
  341. how You like. I suggest an high quality JPeG ("Alchemy -j80" or "-j100") or
  342. a scaled color GIF. (high quality JPeG compression WON'T make You loose 
  343. important information, and will help saving disk space).
  344.  
  345.  POSSIBLE PROBLEMS ? ---> POSSIBLE CAUSES !
  346.  ==========================================
  347.  
  348.  Crumbler could have any bugs I didn't saw, anyway check here if You find 
  349. a 'strange' (read 'jagged', 'overcolored', 'undercolored', 'tooMuchCrumbled',
  350. 'echoed' and so on) output file:
  351. 1) If the output file doesn't seems to have every color You used in the 
  352.    pattern file and You find hard to see a stereogram in it, first check 
  353.    the input file size (size = xRes*yRes*3+18) and the .TGA file type (it 
  354.    MUST be an UNCOMPRESSED 24 BIT per pixel (16.7 million colors) image file).
  355.    You can check it by typing 'alchemy -x <filename>', using CSHOW or other 
  356.    shower programs.
  357.    It could depend also on the '+d' parameter: check to use the correct value.
  358. 2) If the output file has NOT been registered with the given name, check for 
  359.    a '00.tga' file and remember to place the source and the pattern file in 
  360.    the current directory.
  361. 3) If You find a heavy echo try to use the +f option: probably using +fc
  362.    (or changing it) the echo will diminish (it could change position too...)
  363.    Choose the "+f" parameter that gives less echo.
  364. 4) If You don't use a pattern file and You find the output SIRDS too less
  365.    bright, You can compute the SIRDS by increasing the contrast or by
  366.    'trasparency adding' colors, gradient fitting or every kind of 2d image.
  367.    This will make You see #badly# the stereogram but will give a nice
  368.    appearance to the SIRDS.
  369.  
  370.  
  371.  IN CRUMBLER'S FUTURE
  372.  ====================
  373.  
  374.  Perhaps I'm gonna writing another version of CRUMBLER with new features:
  375. ∙ a cross-eyed optionally algorithm
  376. ∙ a GIF file read/write option
  377. ∙ a PCX file read/write option
  378. . a BMP file read/write option
  379. . a TIFF file read/write option
  380. ∙ an antiecho algorithm (I hope someone will help me with this!!)
  381. ∙ a UNIX version (maybe??)
  382. ∙ a OS/2 version (probably!)
  383. ∙ perhaps something else....
  384.  
  385.  
  386.  BEWARE!!!
  387.  =========
  388.  
  389.  I feel I must say that watching stereograms IS DANGEROUS for Your eyes,
  390. so don't dedicate too much time to stereograms viewing. Sure Your eyes are 
  391. more important than a stupid SIRDS!.
  392.                                                                      - 8 -
  393.  
  394.  GREETINGS
  395.  =========
  396.  
  397.  I would like to thank any one will e-mail
  398.  
  399.  
  400.           sis2g19@ganimede.csr.unibo.it     
  401. or
  402.           einn93_5@cobra.csr.unibo.it                                    
  403.  
  404. or mail
  405.  
  406.           Carlo Moretti
  407.           v. R. Medri 2050 Gattolino, Cesena (FO)
  408.           C.A.P. 47020   ITALY.
  409.  
  410. by sending observations, suggests, answers of any kind, results, new P.D. 
  411. SIRDS makers informations and documentation about ANTIECHO algorithms.
  412.  Send me money ONLY if it's on Your conscience.
  413.  Thanks to Mitchell Bransdma (I hope I wrote his name correctly) for his
  414. YASM that gave me the 1st idea on how to create a SIRDS maker.
  415.  
  416.  Special greetings to: (in alphabetical order)
  417. Tan Cheng Ann,
  418. Master Bo,
  419. JJ Floyd,
  420. Todd Hale,
  421. Stuart Inglis,
  422. Steve Kitton,
  423. Dave Landry,
  424. Ing. Emilio Munoz Vado,
  425. Saty,
  426. and every one contacted me about CRUMBLER 1.0.
  427.  
  428.  
  429. Ciao!
  430. -Carlo Moretti            
  431.                                 ..c@C@c..         
  432.                                .cC°° °°@ç.           
  433.                                c° /\ /\ °c 
  434.                                @.   x   .C.
  435.                               .°o\./_\./°@.
  436.                               .C°o\:.:/c°C.
  437.                               c°o  `°'  c°Cc
  438.  
  439.  
  440. '' I wish we were all color-blind, so we could live together peacefully and 
  441.    realize that there is only one color... "The Color of Love".   ,, 
  442.  
  443.                                             (Nuno Bettencourt - Extreme III)
  444.  
  445.